import React from 'react';
import ReactDOM from 'react-dom';

import Pagination from 'rc-pagination';
import 'rc-pagination/assets/index.css';

// 通用的table-list
class Tablist extends React.Component {
    constructor(props) {
        super(props);
        this.state={
            isFirstLoading:true
        }
    }
    // 列表只有在第一次加载的时候 isFirstLoading为true 其他都为 fales
    componentWillReceiveProps(){
        this.setState({
            isFirstLoading:false
        })
    }
    render() {
        // 表头信息
        let tableHeader = this.props.tableHeads.map(
            (tableHead,index)=>{
                if(typeof tableHead ==='object'){
                    return <th key={index} width={tableHead.width}>{tableHead.name}</th>
               }else
                if(typeof tableHead ==='string'){
                   return <th key={index}>{tableHead}</th>
               }
            }
        );
        // 列表内容
        let listBody = this.props.children;

    // 列表的信息
        let Listinfo = (
            <tr>
                <td colSpan={this.props.tableHeads.length} className="text-center">
                    {this.state.isFirstLoading ? '正在加载数据~~~~' : '没有找到相应的结果'}
                </td>
            </tr>
        );
        let tableBody = listBody.length > 0 ? listBody : Listinfo;
        return (
            <div className="row">
                <div className="col-md-12">
                    <table className="table table-striped table-bordered">
                        <thead>
                            <tr>
                                {tableHeader}
                            </tr>
                        </thead>
                        <tbody>
                            {/* so 这里的state里有list的参数 */}
                            {listBody}

                        </tbody>
                    </table>
                </div>
            </div>
        )
    }
}

export default Tablist